package Libs.Dados.Objetos
{
	[RemoteClass(alias="Neturion.Dados.Funcionario")]	
	public class Funcionario
	{
		private var _funcionarioId: int;
		private var _codigo:String;
        private var _cargo:Libs.Dados.Objetos.Cargo;
        private var _salario:Number;
        private var _salarioAnterior:Number;
        private var _dataUltimoReajuste:Date;
        private var _percentualUltimoReajuste:int;
        private var _dataContratacao:Date;
        private var _dataDemissao:Date;
        private var _observacao:String;
        private var _setor:Libs.Dados.Objetos.Setor;
        private var _pessoa:Libs.Dados.Objetos.Pessoa;
        
		public function Funcionario()
		{
		}

		public function set FuncionarioId(value:int):void
        {
            this._funcionarioId=value;
        }
			
		public function set Codigo(value:String):void
        {
            this._codigo=value;
        }

        public function set Cargo(value:Libs.Dados.Objetos.Cargo):void
        {
            this._cargo=value;
        }

        public function set Salario(value:Number):void
        {
            this._salario=value;
        }

        public function set SalarioAnterior(value:Number):void
        {
            this._salarioAnterior=value;
        }

        public function set DataUltimoReajuste(value:Date):void
        {
            this._dataUltimoReajuste=value;
        }

        public function set PercentualUltimoReajuste(value:int):void
        {
            this._percentualUltimoReajuste=value;
        }

        public function set DataContratacao(value:Date):void
        {
            this._dataContratacao=value;
        }

        public function set DataDemissao(value:Date):void
        {
            this._dataDemissao=value;
        }
        
        public function set Observacao(value:String):void
        {
            this._observacao=value;
        }

        public function set Setor(value:Libs.Dados.Objetos.Setor):void
        {
            this._setor=value;
        }
        
        public function set Pessoa(value:Libs.Dados.Objetos.Pessoa):void
        {
            this._pessoa=value;
        }
 
//////////////// get ///////////////////		
		public function get FuncionarioId():int
        {
            return this._funcionarioId;
        }
		
		public function get Codigo():String
        {
            return this._codigo;
        }

        public function get Cargo():Libs.Dados.Objetos.Cargo
        {
            return this._cargo;
        }

        public function get Salario():Number
        {
            return this._salario;
        }

        public function get SalarioAnterior():Number
        {
            return this._salarioAnterior;
        }

        public function get DataUltimoReajuste():Date
        {
        	var data:Date = null;
        	if (this._dataUltimoReajuste != null)
        	{
        		var dia:Number = _dataUltimoReajuste.dateUTC; 
	        	var mes:Number = _dataUltimoReajuste.monthUTC; 
	        	var ano:Number = _dataUltimoReajuste.fullYearUTC;
	        	data = new Date(ano,mes,dia);
        	}
            return this._dataUltimoReajuste = data;
        }

        public function get PercentualUltimoReajuste():int
        {
            return this._percentualUltimoReajuste;
        }

        public function get DataContratacao():Date
        {
        	var data:Date = null;
        	if (this._dataContratacao != null)
        	{
        		var dia:Number = _dataContratacao.dateUTC; 
	        	var mes:Number = _dataContratacao.monthUTC; 
	        	var ano:Number = _dataContratacao.fullYearUTC;
	        	data = new Date(ano,mes,dia);
        	}
            return this._dataContratacao = data;
        }

        public function get DataDemissao():Date
        {
        	var data:Date = null;
        	if (this._dataDemissao != null)
        	{
        		var dia:Number = _dataDemissao.dateUTC; 
	        	var mes:Number = _dataDemissao.monthUTC; 
	        	var ano:Number = _dataDemissao.fullYearUTC;
	        	data = new Date(ano,mes,dia);
        	}
            return this._dataDemissao = data;
        }
        
        public function get Observacao():String
        {
            return this._observacao;
        }

        public function get Pessoa():Libs.Dados.Objetos.Pessoa
        {
            return this._pessoa; 
        }
        
        public function get Setor():Libs.Dados.Objetos.Setor
        {
            return this._setor; 
        }
	}
}